home *** CD-ROM | disk | FTP | other *** search
-
- TCSETATTR(3) UNIX Programmer's Manual TCSETATTR(3)
-
- NNAAMMEE
- ccffggeettiissppeeeedd, ccffsseettiissppeeeedd, ccffggeettoossppeeeedd, ccffsseettoossppeeeedd, ccffsseettssppeeeedd,
- ccffmmaakkeerraaww, ttccggeettaattttrr, ttccsseettaattttrr - manipulating the termios structure
-
- SSYYNNOOPPSSIISS
- ##iinncclluuddee <<tteerrmmiiooss..hh>>
-
- _s_p_e_e_d___t
- ccffggeettiissppeeeedd(_c_o_n_s_t _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
-
- _i_n_t
- ccffsseettiissppeeeedd(_s_t_r_u_c_t _t_e_r_m_i_o_s _*_t, _s_p_e_e_d___t _s_p_e_e_d)
-
- _s_p_e_e_d___t
- ccffggeettoossppeeeedd(_c_o_n_s_t _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
-
- _i_n_t
- ccffsseettoossppeeeedd(_s_t_r_u_c_t _t_e_r_m_i_o_s _*_t, _s_p_e_e_d___t _s_p_e_e_d)
-
- _v_o_i_d
- ccffsseettssppeeeedd(_s_t_r_u_c_t _t_e_r_m_i_o_s _*_t, _s_p_e_e_d___t _s_p_e_e_d)
-
- _v_o_i_d
- ccffmmaakkeerraaww(_s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
-
- _i_n_t
- ttccggeettaattttrr(_i_n_t _f_d, _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
-
- _i_n_t
- ttccsseettaattttrr(_i_n_t _f_d, _i_n_t _a_c_t_i_o_n, _c_o_n_s_t _s_t_r_u_c_t _t_e_r_m_i_o_s _*_t)
-
- DDEESSCCRRIIPPTTIIOONN
- The ccffmmaakkeerraaww, ttccggeettaattttrr and ttccsseettaattttrr functions are provided for getting
- and setting the termios structure.
-
- The ccffggeettiissppeeeedd, ccffsseettiissppeeeedd, ccffggeettoossppeeeedd, ccffsseettoossppeeeedd and ccffsseettssppeeeedd
- functions are provided for getting and setting the baud rate values in
- the termios structure. The effects of the functions on the terminal as
- described below do not become effective, nor are all errors detected, un-
- til the ttccsseettaattttrr function is called. Certain values for baud rates set
- in the termios structure and passed to ttccsseettaattttrr have special meanings.
- These are discussed in the portion of the manual page that describes the
- ttccsseettaattttrr function.
-
- GGEETTTTIINNGG AANNDD SSEETTTTIINNGG TTHHEE BBAAUUDD RRAATTEE
- The input and output baud rates are found in the termios structure. The
- unsigned integer speed_t is typdef'd in the include file <_t_e_r_m_i_o_s_._h>. The
- value of the integer corresponds directly to the baud rate being repre-
- sented, however, the following symbolic values are defined.
-
- #define B0 0
- #define B50 50
- #define B75 75
- #define B110 110
- #define B134 134
- #define B150 150
- #define B200 200
- #define B300 300
- #define B600 600
- #define B1200 1200
- #define B1800 1800
- #define B2400 2400
- #define B4800 4800
- #define B9600 9600
- #define B19200 19200
- #define B38400 38400
- #ifndef _POSIX_SOURCE
- #define EXTA 19200
- #define EXTB 38400
- #endif /*_POSIX_SOURCE */
-
- The ccffggeettiissppeeeedd function returns the input baud rate in the termios
- structure referenced by _t_p.
-
- The ccffsseettiissppeeeedd function sets the input baud rate in the termios struc-
- ture referenced by _t_p to _s_p_e_e_d.
-
- The ccffggeettoossppeeeedd function returns the output baud rate in the termios
- structure referenced by _t_p.
-
- The ccffsseettoossppeeeedd function sets the output baud rate in the termios struc-
- ture referenced by _t_p to _s_p_e_e_d.
-
- The ccffsseettssppeeeedd function sets both the input and output baud rate in the
- termios structure referenced by _t_p to _s_p_e_e_d.
-
- Upon successful completion, the functions ccffsseettiissppeeeedd, ccffsseettoossppeeeedd, and
- ccffsseettssppeeeedd return a value of 0. Otherwise, a value of -1 is returned and
- the global variable _e_r_r_n_o is set to indicate the error.
-
- GGEETTTTIINNGG AANNDD SSEETTTTIINNGG TTHHEE TTEERRMMIIOOSS SSTTAATTEE
- This section describes the functions that are used to control the general
- terminal interface. Unless otherwise noted for a specific command, these
- functions are restricted from use by background processes. Attempts to
- perform these operations shall cause the process group to be sent a SIGT-
- TOU signal. If the calling process is blocking or ignoring SIGTTOU sig-
- nals, the process is allowed to perform the operation and the SIGTTOU
- signal is not sent.
-
- In all the functions, although _f_d is an open file descriptor, the func-
- tions affect the underlying terminal file, not just the open file de-
- scription associated with the particular file descriptor.
-
- The ccffmmaakkeerraaww function sets the flags stored in the termios structure to
- a state disabling all input and output processing, giving a ``raw I/O
- path.'' It should be noted that there is no function to reverse this ef-
- fect. This is because there are a variety of processing options that
- could be re-enabled and the correct method is for an application to snap-
- shot the current terminal state using the function ttccggeettaattttrr, setting raw
- mode with ccffmmaakkeerraaww and the subsequent ttccsseettaattttrr, and then using another
- ttccsseettaattttrr with the saved state to revert to the previous terminal state.
-
- The ttccggeettaattttrr function copies the parameters associated with the terminal
- referenced by _f_d in the termios structure referenced by _t_p. This function
- is allowed from a background process, however, the terminal attributes
- may be subsequently changed by a foreground process.
-
- The ttccsseettaattttrr function sets the parameters associated with the terminal
- from the termios structure referenced by _t_p. The _a_c_t_i_o_n field is created
- by _o_r'ing the following values, as specified in the include file
- <_t_e_r_m_i_o_s_._h>.
-
- _T_C_S_A_N_O_W The change occurs immediately.
-
- _T_C_S_A_D_R_A_I_N The change occurs after all output written to _f_d has been
- transmitted to the terminal. This value of _a_c_t_i_o_n should be
-
-
- used when changing parameters that affect output.
-
- _T_C_S_A_F_L_U_S_H The change occurs after all output written to _f_d has been
- transmitted to the terminal Additionally, any input that has
- been received but not read is discarded.
-
- _T_C_S_A_S_O_F_T If this value is _o_r'ed into the _a_c_t_i_o_n value, the values of
- the _c___c_f_l_a_g, _c___i_s_p_e_e_d, and _c___o_s_p_e_e_d fields are ignored.
-
- The 0 baud rate is used to terminate the connection. If 0 is specified
- as the output speed to the function ttccsseettaattttrr, modem control will no
- longer be asserted on the terminal, disconnecting the terminal.
-
- If zero is specified as the input speed to the function ttccsseettaattttrr, the
- input baud rate will be set to the same value as that specified by the
- output baud rate.
-
- If ttccsseettaattttrr is unable able to make any of the requested changes, it re-
- turns -1 and sets _e_r_r_n_o. Otherwise, it makes all of the requested changes
- it can. If the specified input and output baud rates differ and are a
- combination that is not supported, neither baud rate is changed.
-
- Upon successful completion, the functions ttccggeettaattttrr and ttccsseettaattttrr return
- a value of 0. Otherwise, they return -1 and the global variable _e_r_r_n_o is
- set to indicate the error, as follows:
-
- [EBADF] The _f_d argument to ttccggeettaattttrr or ttccsseettaattttrr was not a valid
- file descriptor.
-
- [EINTR] The ttccsseettaattttrr function was interrupted by a signal.
-
- [EINVAL] The _a_c_t_i_o_n argument to the ttccsseettaattttrr function was not
- valid, or an attempt was made to change an attribute repre-
- sented in the termios structure to an unsupported value.
-
- [ENOTTY] The file associated with the _f_d argument to ttccggeettaattttrr or
- ttccsseettaattttrr is not a terminal.
-
- SSEEEE AALLSSOO
- tcsendbreak(3), termios(4)
-
- SSTTAANNDDAARRDDSS
- The ccffggeettiissppeeeedd, ccffsseettiissppeeeedd, ccffggeettoossppeeeedd, ccffsseettoossppeeeedd, ttccggeettaattttrr and
- ttccsseettaattttrr functions are expected to be compliant with the IEEE
- Std1003.1-1988 (``POSIX'') specification. The ccffmmaakkeerraaww and ccffsseettssppeeeedd
- functions, as well as the TCSASOFT option to the ttccsseettaattttrr function are
- extensions to the IEEE Std1003.1-1988 (``POSIX'') specification.
-
- BSD Experimental June 15, 1998 3
-